package com.gem.day03;

import java.util.GregorianCalendar;
import java.util.Scanner;

/**
 * 本类用来演示if流程控制:输入年,月信息,获取该年该月有多少天
 * 1.if条件必须是boolean类型
 * 2.if可以嵌套使用
 * 3.当if对应的语句只有一行时,大括号可以省略
 * 
 * @author easonsy
 * 2020年7月20日 上午8:55:42
 */
public class IfDemo {
	public static void main(String[] args) {
		//获取用户键盘输入
		Scanner scanner = new Scanner(System.in);
		//提示
		System.out.println("请您输入年份: ");
		int year = scanner.nextInt();
		//判断
		if (year <= 0) {
			//错误提示
			System.err.println("非法年份: " + year);
		} else {
			//说明年份合法,继续输入月份
			System.out.println("请您输入月份: ");
			int month = scanner.nextInt();
			//定义变量保存天数
			int day = -1;
			//判断
			if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
				day = 31;
			} else if (month == 4 || month == 6 || month == 9 || month == 11) {
				day = 30;
			} else if (month == 2) {
				//判断闰年
				//if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
				if (new GregorianCalendar().isLeapYear(year)) {
					day = 29;
				} else {
					day = 28;
				}
			} else {
				System.err.println("非法月份: " + month);
			}
			if (day != -1) {
				System.out.println(year + "年" + month + "月一共有: " + day + "天.");
			}
		}
		//关闭Scanner
		scanner.close();

		/*if(条件) {
			语句1;
		}else {
			语句2;
		}
		等价于:
		条件?语句1 : 语句2*/
	}
}
